mybatis-plus逻辑删除问题
mybatis-plus: mapper-locations: classpath:/mapper/**/*.xml global-config: db-config: id-type: auto logic-delete-field: showStatus logic-delete-value: 0 logic-not-delete...
2024-02-23mybatis sql 查询问题
今天碰到一个关于mybatis的问题 查询到的数据是null 首先申明,数据库是有相关的数据,并且sql是正确的,但是调用的时候 debug进去发现查出来的list集合是空数据。 <resultMap id="RevenuePercsResultMap" type="com.xxx.common.dto.report.RevenuePercsEntity"> <result property="totalPrice" column="totalPrice" /> <result p...
2024-01-10Mybatis plus 配置多数据源
本文内容纲要:- 1、yml配置- 2、启动多个数据源- 3、DBType枚举类- 4、动态数据源决策- 5、设置、获取数据源- 6、AOP实现的数据源切换- 7、mapper层结构- 8、写一个service测试一下- 9、测试结果原文链接:https://www.cnblogs.com/puretuo/p/11365359.html记得面试时候,有面试官会问道,你们多数据源是怎...
2024-01-10解决mybatis plus 一对多分页查询问题
最近用mybatis plus做项目,单表的增删改查都正常,做到1对多表的分页时,用resultMap返回的时候发现返回的记录和总数对不上返回的记录是 一 表的,二返回的总数是 多 表查了一下,这个或者是PLUS的bug大概的解决办法如下图:用collection,传参用column,我这里用了一个小技巧,把外面传入的参数,作...
2024-01-10mybatis-plus 返回部分字段的解决方式
mybatis-plus的代码生成器会在实体类中生成数据库所有字段,我们去用mapper接口查询时,会返回数据库所有的字段。但有些字段不是我们想要的,比如:deleted,所以我们可以在不需要的字段上面加@JsonIgnore注解,返回给前端的时候会自动把这个字段去除。补充知识:Mybatis-Plus只查询特定字段与创建子类...
2024-01-10mybatis plus如何匹配纯数组和对象数组?
创建表的这个字段是这样子的`goods_tips_id_list` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '',数据库里面存储这样一条数据,下面这个不是数组,是一段json字符串的数组["1615226392250040321","1617784249885577217","161778441411...
2024-02-22mybatis中resultMap 标签的使用教程
MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注SQL本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。MyBatis特点:1.开源的优秀持久层框架 2.SQL语句与代码分离 3.面向配置的编程 4...
2024-01-10Mybatis plus通用字段自动填充的示例
在进行持久层数据维护(新增或修改)的时候,我们通常需要记录一些非业务字段,比如:create_time、update_time、update_by、create_by等用来维护数据记录的创建时间、修改时间、修改人、创建人等信息。通常情况下我们需要对这些字段进行手动赋值。赋值的过程也比较冗余,都是重复操作。通常是为create...
2024-01-10MyBatis-plus 模糊查询的使用
在使用MyBatis-plus的时候,一些基础的增删改查可以不用再自己写sql了:public interface UserDao extends BaseMapper<FykUser>{}就这样,就可以实现user表的增删改查了。模糊查询使用userDao.selectList(queryWrapper)方法,就可以查询出一个用户列表。如果需要模糊查询,代码如下://条件封装QueryWrapper<FykUser> query...
2024-01-10用mybatis插件抓取最终sql
然后手工一个一个的替换问号占位符后,去MySQL 执行,看sql有木有什么问题。如果sql简单,那比较好说, 如果是个复杂sql,手动替换N个问号占位符,这种痛相信大家都经历过。 今天介绍的 MybatisFinalSqlPlugin 插件 正是解决了这样的痛点,可以直接抓到最终sql。环境mybatis 3.4.2实现思路最近在走读mybat...
2024-01-10Mybatis plus逻辑删除失败的BUG操作
开发调试的时候发现Mybatis Plus的逻辑删除失效了,看了下配置文件发现没有问题,通过查看以下源码发现逻辑删除需要注入的bean,查看这个bean的源码如下查看其中一个实例的类的源码,如通过ID逻辑删除LogicDeleteById的源码,如下mp在项目启动时预加载SQL是通过TableInfo中logicDelete字段判断是否开启逻...
2024-01-10mybatis Plus 多表联合查询的实现示例
本文主要介绍了mybatis Plus 多表联合查询,分享给大家,具体如下://实体类package com.sk.skkill.entity;import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableName;import lombok.Data;import java.io.Serializable;import java.util.Date;import j...
2024-01-10使用mybatis动态加载外部sql
思路怎么解决? 说说我和小伙伴D的思路:回顾下需求场景, 提供无业务逻辑, 只返回sql查询结果的接口. 也就是说, 如果有这样一个接口, 可以每次执行我写的sql, 那问题就解决了, 所以我们的目标就是: 把sql写到一个地方(DB), 然后接口获取sql, 并执行返回执行结果.实现我和D开始觉得并不难, 将sql存到DB, ...
2024-01-10mybatis plus使用redis作为二级缓存的方法
建议缓存放到 service 层,你可以自定义自己的 BaseServiceImpl 重写注解父类方法,继承自己的实现。为了方便,这里我们将缓存放到mapper层。mybatis-plus整合redis作为二级缓存与mybatis整合redis略有不同。1. mybatis-plus开启二级缓存mybatis-plus.configuration.cache-enabled=true2. 定义RedisTemplate的bean交给spring管理,这里...
2024-01-10MyBatis-Plus 查询返回实体对象还是map
在常见场景下:返回数据建议使用map,不建议使用实体对象 /** * 1. 名字包含雨并且年龄小于40 * sql:name like '%雨%' and age < 40 * <p> * 应用场景: * 当表字段非常多,但是你只需要查询少数几列, * 没必要返回的泛型为实体的list,如果返回的泛型为实体,绝大多字段都是null,这样做不优雅 * ...
2024-01-10java mybatis-plus为null时后端到底处不处理?
问题描述前端给类型为数字类型的字段传null,后端不处理数据库都支持,mybatis-plus也有相对应的策略如:但是网上说有坑后端也说有问题那到底这个问题能不能解决,请问各位大佬们有遇到过这种情况吗?又是如何解决的呢?在线等....急!请问这种情况使用mybatis-plus的自动填充会不会好些呢???还是说前端必须传"" 就是不能传null?回答:自己逻辑处理。这2种情况我都遇到过。不忽略,...
2024-03-12基于Mybatis Plus实现多表分页查询的示例代码
注意:Mybatis Plus 3.0.7 版本才开始用【自定义sql】+【QueryWrapper】,低版本不能使用,还是老实写SQL进行条件拼接1、源码分析在Wrapper<T>接口中就有如下方法/** * 获取自定义SQL 简化自定义XML复杂情况 * 使用方法:自定义sql + ${ew.customSqlSegment} * 1.逻辑删除需要自己拼接条件 (之前自定义也同样) * 2.不...
2024-01-10mybatis mapper.xml 区间查询条件详解
目录mybatis mapper.xml 区间查询条件对 null 和 ” 分开进行判断tk mybatis通用mapper,复杂and or条件查询方式1:Weekend语法方式2:通用example语法mybatis mapper.xml 区间查询条件对 null 和 ” 分开进行判断<select id="selectByExample" resultMap="BaseResultMap" parameterType="com.test.entity.TestQuery">SELECT * ...
2024-01-10mybatis执行动态sql如何防止sql注入?
sql的表名和字段都是不确定的 所以只能执行sql<insert id="insertSql" parameterType="String"> ${sql} </insert>像这种 有没有办法检测这个拼接好的sql字符串有问题回答:既然用mybatis了。 为啥还直接传进来整个sql。回答:用白名单, 只允许特定的几条sql, 或者几个变量的值. 没别的办法.回答:...
2024-02-23请问mybatis plus 如何使用 xml写自定义sql语句不报错?
我的yml文件# Mybatis-plus配置mybatis-plus: #配置Mapper映射文件 mapper-locations: classpath*:/mapper/*Mapper.xml # 配置MyBatis数据返回类型别名(默认别名是类名) type-aliases-package: com.quanneng.xc_mall.entity,com.quanneng...
2024-02-17mybatis-plus list()查询,返回的结果可以忽略父类字段吗?
这是我的基类@Datapublic class BaseEntity implements Serializable { private String createdBy; private LocalDateTime created_time; private String updatedBy; private LocalDateTime updated_...
2024-03-08详解Mybatis-plus中更新date类型数据遇到的坑
最近一年的项目都是在使用Mybatis-plus,感觉挺好用的,也没遇到很多问题,但是在最近项目上线之后,遇到了一些新的需要,在进行新版本开发的时候就开始遇到坑了,今天来说一下更新数据中有date类型数据的时候会出现的问题。实体类部分字段如下:@Data@Builder@NoArgsConstructor@AllArgsConstructorpublic...
2024-01-10浅谈Mybatis Plus的BaseMapper的方法是如何注入的
目录Mybatis Plus的BaseMapper的方法Mybatis Plus的初始化方法MybatisPlusAutoConfiguration中的SqlSessionFactoryBaseMapper方法的注入的过程总结Mybatis Plus的BaseMapper的方法我们在用的时候经常就是生产自定义的Mapper继承自BaseMapper,然后我们就可以使用了,但是有没想过BaseMapper里的方法是怎么被注入到mybatis里的,也没看到...
2024-01-10Mybatis mapper接口动态代理开发步骤解析
一、必须遵守的四项原则1:接口 方法名==xx.xml中的id名2:方法返回值类型与Mapper.xml文件中返回值类型一致3:方法的入参类型与Mapper.xml文件中入参值类型一致4:命名空间绑定接口二、代码public class UserMapperTest {private SqlSession sqlSession;private InputStream in;@Beforepublic void before() throws IOException { ...
2024-01-10MyBatis-Plus 动态表名SQL解析器的实现
一、引言先来说下动态名表在什么场景下需要使用呢?拿小编的实际项目来说,小编公司手里掌握着国内各个部分地区的医院患者数据,那么一个医院的患者的数据流量肯定是很大的,这个时候如果全部放在同一张表中,那么可想而知数据量的庞大。所以数据库设计的时候可以一家医院对应一张表,...
2024-01-10